package com.example.javamaday.leetcode;

public class LeetCodeTest1137 {

    public static void main(String[] args) {
        System.out.println(new LeetCodeTest1137().tribonacci(25));
    }

    public int tribonacci(int n) {

        if (n == 0) {
            return 0;
        }
        if (n == 1) {
            return 1;
        }
        if (n == 2) {
            return 1;
        }
        if (n == 3) {
            return 2;
        }
        int[] result = new int[n + 1];
        result[0] = 0;
        result[1] = 1;
        result[2] = 1;
        result[3] = 2;
        for (int i = 4; i <= n; i++) {
            result[i] = result[i - 1] + result[i - 2] + result[i - 3];
        }
        return result[n];
    }

//    public int tribonacci(int n) {
//        if (n == 0) {
//            return 0;
//        }
//        if (n == 1) {
//            return 1;
//        }
//        if (n == 2) {
//            return 1;
//        }
//        if (n == 3) {
//            return 2;
//        }
//        return tribonacci(n - 1) + tribonacci(n - 2) + tribonacci(n - 3);
//    }
}
